export default class MagicValue {
    public static readonly COOKIE_TOKEN_KEY: string = "ACCESS_TOKEN";
    public static readonly COOKIE_REFRESH_TOKEN_KEY: string = "REFRESH_TOKEN";
    public static readonly TOKEN_KEY: string = "Role-Auth";
    public static readonly REFRESH_TOKEN_KEY: string = "Refresh-Role-Auth";
    public static readonly COMPANY_KEY: string = "BeMyself";
    public static readonly COMPANY_VALUE: string = "偌迩奥斯(难拳)";
    public static readonly COMPANY_COPY_RIGHT: string = MagicValue.COMPANY_VALUE + "版权所有";
    public static readonly TRUE: string = "true";
    public static readonly FALSE: string = "false";
    public static readonly BYTE_TRUE: number = 1;
    public static readonly BYTE_FALSE: number = 0;
    public static readonly EMPTY_STR: string = "";
    public static readonly EMPTY_JSON_OBJECT: string = "{}";
    public static readonly UNDEFINED: string = "undefined";
    public static readonly JAVA_ROOT_PATH: string = "com.roleAuth.server.frame.";
    public static readonly VIEWS: string = "/views";

    public static readonly SPACE: string = " ";
    public static readonly DOUBLE_QUOTATION_MARK: string = "\"";
    public static readonly PAUSE_SYMBOL: string = "、";
    public static readonly COMMA: string = ","; // ˈkɒmə
    public static readonly DOT: string = ".";
    public static readonly COMMA_CHINESE: string = "，";
    public static readonly FULL_STOP: string = "。";
    public static readonly SEMICOLON: string = ";"; // ˌsemiˈkəʊlɒn
    public static readonly QUESTION_MARK: string = "?";
    public static readonly SINGLE_QUOTES: string = "";
    public static readonly SINGLE_QUOTES_CHINESE: string = "‘";
    public static readonly DOUBLE_QUOTES: string = "\"";
    public static readonly DOUBLE_QUOTES_CHINESE: string = "”";
    public static readonly COLON: string = ":";
    public static readonly COLON_CHINE: string = "：";
    public static readonly DOUBLE_COLON: string = "::";
    public static readonly BACKSLASH_DOT: string = "\\."; // ˈbækslæʃ
    public static readonly PARENS: string = "()"; // pəˈrenz
    public static readonly LEFT_PAREN: string = "("; // pəˈren
    public static readonly RIGHT_PAREN: string = ")";
    public static readonly HYPHEN: string = "-";
    public static readonly UNDERLINE: string = "_";
    public static readonly BACK_SLASH: string = "\\\\";
    public static readonly FORWARD_SLASH: string = "/";
    public static readonly SPECIAL_SEPARATOR_REGEX: string = "\\|#\\|";
    public static readonly SPECIAL_SEPARATOR: string = "|#|";

    public static readonly GREATER_THAN_EQUAL: string = ">=";
    public static readonly GREATER_THAN: string = ">";
    public static readonly LESS_THAN_EQUAL: string = "<=";
    public static readonly LESS_THAN: string = "<";
    public static readonly EQUAL_TO: string = "=";

    public static readonly ZERO: string = "0";
    public static readonly ONE: string = "1";
    public static readonly TWO: string = "2";
    public static readonly THREE: string = "3";
    public static readonly FOUR: string = "4";
    public static readonly FIVE: string = "5";
    public static readonly SIX: string = "6";
    public static readonly SEVEN: string = "7";
    public static readonly EIGHT: string = "8";
    public static readonly NINE: string = "9";

    public static readonly EMPTY_STRING: string = "";
    public static readonly FILES: string = "files";
    public static readonly COPY: string = "拷备";
    public static readonly ADD: string = "新增";
    public static readonly VIEW: string = "查看";
    public static readonly EDIT: string = "编辑";
    public static readonly SAVE: string = "保存";
    public static readonly RESET: string = "重置";
    public static readonly SEARCH: string = "查询";
    public static readonly REMOVE: string = "删除";
    public static readonly CANCEL: string = "取消";
    public static readonly CONFIRM: string = "确认";

    public static readonly CSS_STYLE: Css = {
        display: {
            none: "none",
            block: "block",
            inline: "inline",
            inlineBlock: "inline-block",
            flex: "flex",
            inlineFlex: "inline-flex"
        },
        flex_JustifyContent: {
            center: "center",
            start: "start",
            end: "end",
            flexStart: "flex-start",
            flexEnd: "flex-end",
            left: "left",
            right: "right",
            spaceBetween: "space-between",
            spaceAround: "space-around",
            spaceEvenly: "space-evenly",
            stretch: "stretch"
        }
    };
}

interface Css {
    display: CssDisplay,
    flex_JustifyContent: JustifyContent
}

interface CssDisplay {
    none: string, /* 此元素不会被显示 */
    block: string, /* 此元素将显示为块级元素，此元素前后会带有换行符 */
    inline: string, /* 默认。此元素会被显示为内联元素，元素前后没有换行符 */
    inlineBlock: string, /* 行内块元素 */
    flex: string, /* 弹性容器 */
    inlineFlex: string /* 行内弹性容器 */
}

interface JustifyContent {
    /* Positional alignment */
    center: string, /* 居中排列 */
    start: string, /* Pack items from the start */
    end: string, /* Pack items from the end */
    flexStart: string, /* 从行首起始位置开始排列 */
    flexEnd: string, /* 从行尾位置开始排列 */
    left: string, /* Pack items from the left */
    right: string, /* Pack items from the right */
    /* Distributed alignment */
    spaceBetween: string, /* 均匀排列每个元素 首个元素放置于起点，末尾元素放置于终点 */
    spaceAround: string, /* 均匀排列每个元素 每个元素周围分配相同的空间 */
    spaceEvenly: string, /* 均匀排列每个元素 每个元素之间的间隔相等 */
    stretch: string, /* 均匀排列每个元素 "auto"-sized 的元素会被拉伸以适应容器的大小 */
}
